package com.quanyan.club.pullclub.service;

import com.quanyan.api.APIResponse;
import com.quanyan.club.pullclub.entity.req.ReqWithdrawSource;
import com.quanyan.club.pullclub.entity.resp.RespIncomeDetail;
import com.quanyan.club.pullclub.entity.resp.RespMyNewClubOfPullPage;
import com.quanyan.club.pullclub.entity.req.ReqIncomeDetail;
import com.quanyan.club.pullclub.entity.req.ReqPullBind;
import com.quanyan.club.pullclub.entity.req.ReqPullWithdrawApply;
import com.quanyan.common.Plugin.PageObj;
import com.quanyan.orderpay.response.mq.WithdrawTransferNotify;
import org.springframework.stereotype.Service;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

/**
 * Created by yue.yuan on 2017/2/13.
 */
@Service("pullClubService")
public interface PullClubService {

    RespMyNewClubOfPullPage getPullNewClubsByUid(int uid, int pageNo, int pageSize);

    APIResponse<PageObj<List<RespIncomeDetail>>> queryIncomeDetail(ReqIncomeDetail reqIncomeDetail);

    APIResponse queryIncomeTotal(ReqIncomeDetail reqIncomeDetail);

    APIResponse withdrawSource(ReqWithdrawSource reqIncomeDetail);

    APIResponse bindingAccount(ReqPullBind reqPullBind);

    APIResponse preWithdrawApply(ReqIncomeDetail reqIncomeDetail);

    APIResponse withdrawApply(HttpServletRequest request,
                              ReqPullWithdrawApply reqPullWithdrawApply);

    APIResponse withdrawCallbackNotify(WithdrawTransferNotify notify);
}
